home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Freeware / ReNamer 5.40 / ReNamer.exe / {app} / Scripts / Pad numeric sequences.pas < prev    next >
Pascal/Delphi Source File  |  2007-05-08  |  871b  |  45 lines

  1. const
  2.   PAD_TO_LENGTH = 3;
  3.  
  4. function CountDigits(const S: WideString; StartI: Integer): Integer;
  5. var I: Integer;
  6. begin
  7.   Result := 0;
  8.   for I:=StartI to WideLength(S) do
  9.   begin
  10.     if IsWideCharDigit(S[I]) then
  11.       Inc(Result)
  12.     else
  13.       Break;
  14.   end;
  15. end;
  16.  
  17. function MakeZeros(Count: Integer): WideString;
  18. var I: Integer;
  19. begin
  20.   Result := '';
  21.   for I:=1 to Count do
  22.     Result := Result + '0';
  23. end;
  24.  
  25. var
  26.   Start, Count: Integer;
  27.  
  28. begin
  29.   Start := 1;
  30.   while Start < WideLength(FileName) do
  31.   begin
  32.     Count := CountDigits(FileName, Start);
  33.     if (Count > 0) then
  34.       if (Count < PAD_TO_LENGTH) then
  35.       begin
  36.         WideInsert(MakeZeros(PAD_TO_LENGTH-Count), FileName, Start);
  37.         Start := Start + PAD_TO_LENGTH;
  38.       end
  39.       else
  40.         Start := Start + Count
  41.     else    
  42.       Inc(Start);
  43.   end;
  44. end.
  45.